草庐IT

java - 如何在 JPA 中设置默认 boolean 值

我有一个属性privatebooleaninclude;我想将其默认值设置为true,以便在数据库中它必须从默认值显示True。这在JPA中可行吗? 最佳答案 据我所知,没有提供默认值的JPA原生解决方案。这是我的解决方法:非数据库可移植解决方案@Column(columnDefinition="tinyint(1)default1")privatebooleaninclude;面向Java的解决方案privatebooleaninclude=true;面向Java的加Builder模式@Column(nullable=false)

java - 在 JPA @GeneratedValue 列中手动指定主键的值

我有一个实体,它有一个主键/id字段,如下所示:@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privateLongid;这很好用。我正在使用EclipseLink创建DDL-Schema,并且该列已正确创建,如下所示:`id`bigint(20)NOTNULLAUTO_INCREMENT但是,我确实有几个实体想要自己指定PK(这是​​一个将数据从旧数据库传输到我们正在构建的新数据库的小应用程序)。如果我为POJO指定ID(使用setId(Longid))并将其持久化,EclipseLink不保存它(即保存记录,但id是由ecl

java - 在 JPA @GeneratedValue 列中手动指定主键的值

我有一个实体,它有一个主键/id字段,如下所示:@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privateLongid;这很好用。我正在使用EclipseLink创建DDL-Schema,并且该列已正确创建,如下所示:`id`bigint(20)NOTNULLAUTO_INCREMENT但是,我确实有几个实体想要自己指定PK(这是​​一个将数据从旧数据库传输到我们正在构建的新数据库的小应用程序)。如果我为POJO指定ID(使用setId(Longid))并将其持久化,EclipseLink不保存它(即保存记录,但id是由ecl

java - JPA - 持久化对象时何时使用 getTransaction()

我最近开始在GoogleAppEngine上使用JPA。在阅读一些示例时,我注意到对象的持久化方式存在一些变化。在一种情况下,我见过这样的事情:entityManager.getTransaction().begin();entityManager.persist(object);entityManager.getTransaction().commit();在其他情况下,我看不到getTransaction()的使用。我只是看到entityManager.persist(object)。什么时候适合使用getTransaction()? 最佳答案

java - JPA - 持久化对象时何时使用 getTransaction()

我最近开始在GoogleAppEngine上使用JPA。在阅读一些示例时,我注意到对象的持久化方式存在一些变化。在一种情况下,我见过这样的事情:entityManager.getTransaction().begin();entityManager.persist(object);entityManager.getTransaction().commit();在其他情况下,我看不到getTransaction()的使用。我只是看到entityManager.persist(object)。什么时候适合使用getTransaction()? 最佳答案

java - 调用getNextException查看原因: How to make Hibernate/JPA show the DB server message for an exception

我正在使用Postgresql、Hibernate和JPA。每当数据库中出现异常时,我都会得到类似这样的信息,这不是很有帮助,因为它没有显示数据库服务器上真正出了什么问题。Causedby:java.sql.BatchUpdateException:Batchentry0updatefoosetALERT_FLAG='3'wasaborted.CallgetNextExceptiontoseethecause.atorg.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc

java - 调用getNextException查看原因: How to make Hibernate/JPA show the DB server message for an exception

我正在使用Postgresql、Hibernate和JPA。每当数据库中出现异常时,我都会得到类似这样的信息,这不是很有帮助,因为它没有显示数据库服务器上真正出了什么问题。Causedby:java.sql.BatchUpdateException:Batchentry0updatefoosetALERT_FLAG='3'wasaborted.CallgetNextExceptiontoseethecause.atorg.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc

java - JPA java代码生成

我专门找JPA代码生成技术首先,有哪些项目可以生成符合JPA的代码?(例如HibernateTools)其次,我还想自定义代码生成实用程序,因为它必须符合我们的公司标准。如果没有,有哪些框架可用于使用反射生成java代码?所以我可以从头开始写。注意:我使用eclipse生成JPA代码并反复重构以使其兼容。 最佳答案 我也很难理解这个问题,但我会尝试改写:您在数据库中有大量数据并希望通过JPA访问它您不想手动编写类来访问不同的数据库/表目前所有/大部分模型类都是在Eclipse中生成的这些模型具有JPA注释模型类(或注释)不符合公司标

java - JPA java代码生成

我专门找JPA代码生成技术首先,有哪些项目可以生成符合JPA的代码?(例如HibernateTools)其次,我还想自定义代码生成实用程序,因为它必须符合我们的公司标准。如果没有,有哪些框架可用于使用反射生成java代码?所以我可以从头开始写。注意:我使用eclipse生成JPA代码并反复重构以使其兼容。 最佳答案 我也很难理解这个问题,但我会尝试改写:您在数据库中有大量数据并希望通过JPA访问它您不想手动编写类来访问不同的数据库/表目前所有/大部分模型类都是在Eclipse中生成的这些模型具有JPA注释模型类(或注释)不符合公司标

java - JPA 无法解析列/IntelliJ

我正在尝试使用HibernateJPA实现来映射一些Java类。我的问题是我不能使用硬编码的字符串作为列名。您可以在下图中看到我收到的错误消息。我使用OpenJPA作为我的默认JPA提供程序,并且已经尝试更改它。IntelliJ版本14.0.3问候, 最佳答案 您必须将您的数据源(首先在数据库View中创建一个数据源-也就是您真正的JDBC数据库连接)与一个持久性单元或session工厂(hibernate.cfg.xml)相关联。按照以下步骤操作,警告将消失:打开Persistence工具窗口(查看|工具窗口|坚持)。右键单击必要