草庐IT

QueryDSL-JPA

全部标签

java - JPA 如何为 @OneToMany 关系的列添加唯一约束,如用户名

我有一个代表网站的Site类和一个User类。一个Site可以有多个User。classSite{privateintsite_ID;@OneToMany//withajointableprivateListusers;//...}classUser{privateintuser_ID;privateStringname;privateStringlastname;privateStringusername;privateStringpassword;}我想允许相同的用户名存在于所有站点上,但每个站点只能存在一个。Site/User/username1/1/username11/2/u

java - 用JPA实现分层数据结构(固定深度)

Ihaveahierarchicaldatastructurewithafixeddepthof4.Forabetterunderstanding,let'sassumethefollowing(justanexample):The"root"leveliscalledcountriesEachcountrycontainsanarbitraryamountofstatesEachstatecountainsanarbitraryamountofcountiesEachcountycontainsanarbitraryamountofcitiesSotherearealways1-Nr

java - 使用 JPA 标准连接没有关系的表

我有两个没有建模关系的表:包含列的comm表:namedatecode包含列的persondesc表:codedescription两个表之间的关系是多对一(manycommtoonepersondesc):com.code=persondesc.code这两个表用注释映射,但我没有声明任何关系。我正在尝试的是选择按persondesc.description排序的comm表。我该如何使用JPA和Hibernate? 最佳答案 所以如果你的类没有“关系”,那么你可以像这样查询SELECTaFROMAaCROSSJOINBbWHERE

java - 无法配置 Spring Data JPA : Specified class is an interface

我已经开始使用SpringDataJPA。不幸的是我无法配置它。我有Entity类,Repository接口(interface),但是当我尝试测试它时,出现了问题。源代码(我有setter/getter方法,但为了更好的代码我跳过了它):@EntitypublicclassEmployee{@Id@GeneratedValueprivateLongid;privateStringfirstName;privateStringlastName;publicEmployee(){}}存储库类:publicinterfaceEmployeeRepositoryextendsJpaRepos

java - JPA 查询中子对象的排序返回

所以如果我的JPA查询是这样的:SelectdistinctpfromParentpleftjoinfetchp.childrenorderbyp.someProperty我正确地得到了按p.someProperty排序的结果,并且我正确地得到了我的p.children集合急切获取和填充。但我希望我的查询类似于“按p.someProperty、p.children.someChildProperty排序”,以便每个父对象中填充的集合由someChildProperty进行子排序。当我考虑为这些调用实际生成的sql时,这似乎很直观,但当它试图映​​射回分层对象时,我猜想就不那么直观了。

java - 在 JPA Criteria API 查询中使用 countDistinct 的示例

我无法弄清楚如何表示以下JPQL查询:SELECTcount(e)FROMFooe使用标准API。我正在尝试的是:CriteriaBuildercb=em.getCriteriaBuilder();CriteriaQueryc=cb.createQuery(Foo.class);Rootf=c.from(Foo.class);c.select(cb.count(f));但这行不通。我也试过:c.select(cb.count(f.get("id"));这是针对JPA2、Eclipselink的。 最佳答案 试试这个,这是与hiber

java - Entity-Bean (JPA) 中的单向关系

如何在EJB3.0Entity-Beans(JPA)中创建单向关系?例如,客户知道订单,但订单没有客户的任何方法。使用(@OneToMany或@OneToOne或@ManyToMany)问候 最佳答案 下面是使用JPA2.0建立单向@OneToMany关系的方法:@EntitypublicclassCustomer{@Id@Column(name="cust_id")privatelongid;...@OneToMany@JoinColumn(name="owner_id",referencedColumnName="cust_id

java - JPA 类格式错误 "Absent Code attribute in method that is not native or abstract in class file javax/persistence/Persistence"

当我尝试调用100%工作代码时,我从eclipse中得到错误。例如,它在我的netbeans中工作,但不是这个eclipse项目。这个错误是荒谬的,我几乎可以肯定它是由我正在使用的OPENJPA的一些Maven依赖性引起的。任何指针?Mapproperties=newHashMap();properties.put(PersistenceUnitProperties.JDBC_PASSWORD,"");properties.put(PersistenceUnitProperties.JDBC_USER,"root");properties.put(PersistenceUnitProp

java - JPA/Spring/Delete Entity,类型不匹配(int/long for id)

我有一个使用的实体@Id@GeneratedValue(strategy=GenerationType.AUTO)privatelongid;我有这个实体的JPA存储库。现在我想删除其中一个,但标准方法是delete(inti),它不起作用,因为我的ID不是整数,而是长整数。那么除了使用int作为我的ID之外,在这里还能做什么?我可以指定一个使用long的自定义删除方法,就像它与findbyXX(XX)一起使用一样吗?编辑:首先:是的,我正在使用DataJPA!我想这样做:jparepository.delete(id);如果id是一个整数:org.hibernate.TypeMism

java - Spring JPA 存储库 : prevent update on save

我的user数据库表如下所示:CREATETABLEuser(usernameVARCHAR(32)PRIMARYKEY,first_nameVARCHAR(256)NOTNULL,last_nameVARCHAR(256)NOTNULL,passwordVARCHAR(32)NOTNULL,enabledBOOL)ENGINE=InnoDB;这是我的实体的字段定义:@EntitypublicclassUserimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@Column(nullable=fals