草庐IT

java - JPA/Hibernate : What's better for composite primary keys, @IdClass 或 @EmbeddedId 实现,为什么?

这个问题在这里已经有了答案:WhichannotationshouldIuse:@IdClassor@EmbeddedId(7个回答)关闭2年前。对于JPA/Hibernate复合主键、@IdClass或@EmbeddedId实现,什么更好,为什么?这是一个故意天真的问题。我决定使用@EmbeddedId(无论出于何种原因),我觉得我做出了错误的选择。取消引用包含列属性的embeddedId是多余的,并且在编码时很容易出错。还有其他理由支持和/或反对对方吗?这是JPA(规范)的推荐吗? 最佳答案 首先,如果可能,不惜一切代价避免使用

java - 是否可以将 JPA 注释添加到父类(super class)实例变量?

我正在为两个不同的表创建相同的实体。为了对两个实体做不同的表映射等,但只有一个地方的其余代码-一个抽象父类(superclass)。最好的办法是能够在父类(superclass)中注释通用的东西,例如列名(因为它们将是相同的),但这不起作用,因为JPA注释不被子类继承。这是一个例子:publicabstractclassMyAbstractEntity{@Column(name="PROPERTY")//ThiswillnotbeinheritedandisthereforeuselesshereprotectedStringproperty;publicStringgetProper

java - 是否可以将 JPA 注释添加到父类(super class)实例变量?

我正在为两个不同的表创建相同的实体。为了对两个实体做不同的表映射等,但只有一个地方的其余代码-一个抽象父类(superclass)。最好的办法是能够在父类(superclass)中注释通用的东西,例如列名(因为它们将是相同的),但这不起作用,因为JPA注释不被子类继承。这是一个例子:publicabstractclassMyAbstractEntity{@Column(name="PROPERTY")//ThiswillnotbeinheritedandisthereforeuselesshereprotectedStringproperty;publicStringgetProper

java - Spring data jpa - 如何通过方法名称组合多个And和Or

我正在尝试迁移应用程序。我正在从Hibernate到SpringDataJpa工作。虽然springdatajpa提供了简单的查询构建方法,但我坚持创建同时使用And和Or运算符的查询方法。方法名-findByPlan_PlanTypeInAndSetupStepIsNullOrStepupStepIs(...)当它转换成查询时,前两个表达式被组合起来,它执行为[(exp1andexp2)or(exp3)]。而需要的是](exp1)and(exp2orexp3)]。谁能告诉我这是否可以通过Springdatajpa实现? 最佳答案

java - Spring data jpa - 如何通过方法名称组合多个And和Or

我正在尝试迁移应用程序。我正在从Hibernate到SpringDataJpa工作。虽然springdatajpa提供了简单的查询构建方法,但我坚持创建同时使用And和Or运算符的查询方法。方法名-findByPlan_PlanTypeInAndSetupStepIsNullOrStepupStepIs(...)当它转换成查询时,前两个表达式被组合起来,它执行为[(exp1andexp2)or(exp3)]。而需要的是](exp1)and(exp2orexp3)]。谁能告诉我这是否可以通过Springdatajpa实现? 最佳答案

java - 如何与 Spring Data REST 和 JPA 保持双向关系?

使用SpringDataREST,如果您有OneToMany或ManyToOne关系,则PUT操作在“非拥有”实体上返回200,但实际上并不持久加入的资源。示例实体:@Entity(name='author')@ToStringclassAuthorEntityimplementsAuthor{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)LongidStringfullName@ManyToMany(mappedBy='authors')Setbooks}@Entity(name='book')@EqualsAndHashCo

java - 如何与 Spring Data REST 和 JPA 保持双向关系?

使用SpringDataREST,如果您有OneToMany或ManyToOne关系,则PUT操作在“非拥有”实体上返回200,但实际上并不持久加入的资源。示例实体:@Entity(name='author')@ToStringclassAuthorEntityimplementsAuthor{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)LongidStringfullName@ManyToMany(mappedBy='authors')Setbooks}@Entity(name='book')@EqualsAndHashCo

java - 使用 Hibernate 作为提供程序的 JPA 2.0 - 异常 : No Persistence provider for EntityManager

我正在尝试按照HibernateEntityManagerdocumentation中的信息设置一个简单的jpa2.0项目.我已经做了几个小时了,但是无论我做什么,当我尝试创建一个EntityManagerFactory时,我总是会遇到这个异常:Exceptioninthread"main"javax.persistence.PersistenceException:NoPersistenceproviderforEntityManagernamedmanager1atjavax.persistence.Persistence.createEntityManagerFactory(Pe

java - 使用 Hibernate 作为提供程序的 JPA 2.0 - 异常 : No Persistence provider for EntityManager

我正在尝试按照HibernateEntityManagerdocumentation中的信息设置一个简单的jpa2.0项目.我已经做了几个小时了,但是无论我做什么,当我尝试创建一个EntityManagerFactory时,我总是会遇到这个异常:Exceptioninthread"main"javax.persistence.PersistenceException:NoPersistenceproviderforEntityManagernamedmanager1atjavax.persistence.Persistence.createEntityManagerFactory(Pe

java - JPA命名查询与标准API?

CriteriaAPI和NamedQuery之间是否存在启发式/最佳实践/规则集?到目前为止我的想法:命名查询通常更具可读性。条件查询更加灵活。两者都是预编译的。我倾向于尽可能长时间地使用命名查询,然后更改为条件。但也许使用标准API来“灵活”查询的冲动暗示了次优设计(即关注点分离)?谢谢 最佳答案 命名查询更加优化(它们被解析/准备一次)。条件查询是动态的(它们不是预编译的,尽管EclipseLink等一些JPA提供程序维护条件准备缓存)。我只会将条件用于动态查询。 关于java-JP