草庐IT

jpa-criteria

全部标签

java - 具有实体 ElementCollection 键的 JPA 级联持久性

我有两个这样的JPA实体:@EntityclassFoo{@Idprivatelongid;//...}@EntityclassBar{@ElementCollection(targetClass=String.class,fetch=FetchType.LAZY)@MapKeyJoinColumn(name="foo_id",referencedColumnName="id")@MapKeyClass(Foo.class)@Column(name="content")@CollectionTable(name="bar_foo_content",joinColumns=@JoinCo

java - JPA/Hibernate 加入常量值

我正在尝试使用连接语句中的常量值连接同一个表中的不同实体。在SQL中,我会做这样的事情......SELECT*FROMowneroJOINtypestont.owner_id=o.idANDt.type='A'--^^^^^^^^^^^^^^^^THISISWHATIAMTRYINGTOREPLICATE在Java+JPA/Hibernate中,我正在尝试做这样的事情......@Entity@Table(name="OWNER")publicclassOwner{@Id@Column(name="ID")privateLongid@OneToOne(mappedBy="owner"

java - 有没有办法让 Play 框架和 JPA 在列名中使用下划线?

我正在尝试构建一个Play!针对现有数据库运行的应用程序,其中所有列都有下划线来分隔单词。这意味着我必须在每个字段上放置一个@Column注释以指定不同的名称。有没有办法得到Play!默认使用下划线? 最佳答案 如果Play使用Hibernate,正如其他答案所建议的那样,您将不得不implementacustomNamingStrategy。下面是一个NamingStrategy示例,它使用Guava将所有列名从小驼峰转换为带下划线的小写:publicclassCustomNamingStrategyextendsImproved

java - JPA - 定义多列唯一约束

是否可以使用JPA定义多个唯一约束。@EntityclassFoo{longid;Stringname;MyEnumtype;}Foo.id应该是唯一的,{Foo.name,Foo.type}的组合也应该是唯一的。例如id,名字,类型1、“name1”、“type1”2、“name1”、“type2”3,"name1","type1"//id=1的错误重复如何使用JPA注释实现此目的?谢谢 最佳答案 使用Table注解的uniqueConstraints属性:@Table(name="FOO",uniqueConstraints={

java - 没有 XML 的引导 Spring Data JPA

什么是Java@Configuration相当于:在SpringDataJPA?我试图摆脱XML配置以支持@Configuration类(class),但是通读JpaRepositoryConfigDefinitionParser来源是没有结果的。我能得到的最接近的是:@BeanpublicRepositoryFactorySupportrepositoryFactory(){returnnewJpaRepositoryFactory(entityManagerFactory().createEntityManager())}@BeanpublicBookDaobookDao(){re

java - 如何在 JPA 2.1 中指定实体映射?

JPA2.0的实体映射文件的正确起始标记是JPA2.1需要进行哪些更正?我试过了但这给出了错误:Nogrammarconstraints(DTDorXMLSchema)referencedinthedocument. 最佳答案 根据JPA2.1规范所说的可能;-)或docsofaJPA2.1implementationthattellsyou将java.sun.com更改为xmlns.jcp.org将orm_1_0更改为orm_2_1将version="1.0"更改为version="2.1"

java - JPA+Hibernate+@Transactional注解的spring事务支持的奇怪行为

我在相对简单的用例上发现了非常奇怪的行为,可能因为对spring@Transactional性质的了解不深,我无法理解它,但这很有趣。我有一个简单的用户dao,它扩展了springJpaDaoSupport类并包含标准保存方法:@TransactionalpublicUsersave(Useruser){getJpaTemplate().persist(user);returnuser;}如果在我向同一个类添加新方法之前工作正常:UsergetSuperUser(),此方法应该返回isAdmin==true的用户,如果数据库中没有super用户,方法应该创建一个。这就是它的样子:pub

java - JPA 映射中的原始类型。如果数据库列可能为 NULL 怎么办?

给定使用JPA映射的此类(使用JPA1.0和Hibernate):@EntitypublicclassFoo{privateintbar;/*...*/}如果我尝试加载BAR列设置为NULL的记录,会发生什么情况?是否可以指定当相应列为NULL时如何设置bar字段?注释我知道这不是最佳做法。这个问题更多是出于好奇,也是受到这种情况的启发:数据库表是一个暂存表:添加NOTNULL约束是不切实际的。坏数据是预料之中的,我的代码的重点是在将数据加载到“真实”数据库之前验证、清理和/或拒绝数据。我有一些字段可接受的默认值。例如,一个boolean标志应该默认为false。

java - Spring Data JPA - 使用标志列的存储库 findAll 方法

我想在存储库中使用findAll方法,但我希望它只返回具有特定值的实体。例如,我希望它只返回active=1的实体。有没有办法做到这一点?现在我必须为我所有的存储库写这样的东西:@Query("selectpfromParameterpwherep.active=1")publicListfindAll();我没有使用findOne方法,而是必须在我的所有存储库中编写此方法:@Query("selectpfromParameterpwherep.active=1andp.id=?1")publicParameterfindById(Longid);是否有更好的方法对所有查询应用一揽子过

春季数据中的儿童财产JPA查询不起作用

我们正在使用SpringBoot1.5.3可用的弹簧数据JPA。在存储库类中,我只想从表中获取几列,包括来自子表的数据(这是OneTomany映射),因此,我写了一个带有查询的方法。但是该查询方法无法正常工作,并且在日志中看到以下错误/警告SQLError:-104,SQLState:42601DB2SQLError:SQLCODE=-104,SQLSTATE=42601,SQLERRMC=.;ARRAY+-ROWNEXTVALPREVVALNEXTPREVIOUS(,DRIVER=4.19.26这是我的父母实体:@Entity@Table(name="parent_table")public