草庐IT

java - JPQL:将 varchar 转换为数字

我如何在JPQL中将varchar转换为数字???我设法通过以下查询在sql(Oracle)中做到了这一点:SELECTDecode(Upper(column_name),Lower(column_name),To_Number(column_name),-1)FROMtable我想用JPQL做这个转换。谢谢你的帮助 最佳答案 您可以执行下一步:CAST(e.salaryASNUMERIC(10,2))此外,您可以尝试:FUNC('TO_NUMBER',e.areaCode),FUNC允许从JPQL调用数据库函数。SQL('CAST

java - 如何在 Spring JPA 中关闭从方法名称创建查询?

在SpringData中是否可以关闭方法名称的查询生成?给定界面publicinterfaceUserRepositoryextendsRepository{ListfindByEmailAddressAndLastname(StringemailAddress,Stringlastname);}我希望springsecurity产生一个错误,指出从方法名称生成查询已被关闭,请像这样使用显式的@Query注释。publicinterfaceUserRepositoryextendsRepository{@Query("selectufromUseruwhereu.emailAddres

java - 在 Spring Data JPA 中按类型查询

我有抽象类:@Entity@Inheritance(strategy=InheritanceType.JOINED)publicabstractclassA{...}和一些扩展类,例如:@EntitypublicclassBextendsA{...}我还有第三个实体:@EntitypublicclassC{@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER)privateAobjectA;...}问题是,我如何在C实体存储库中构造SpringDataJPA查找器以仅查询扩展A所需类型的对象? 最佳答

java - JPA PessimisticLockScope.NORMAL 和锁定 "relationships"

我正在研究JPA文档并遇到以下几行:Entityrelationshipsforwhichthelockedentitycontainstheforeignkeywillalsobelocked,butnotthestateofthereferencedentities(unlessthoseentitiesareexplicitlylocked).Elementcollectionsandrelationshipsforwhichtheentitydoesnotcontaintheforeignkey(suchasrelationshipsthataremappedtojointab

java - 带有 IN 子句的 Spring Data JPA 中的 NPE

我使用SpringDataJPA1.7.1和Hibernate4.3.7作为我的JPA提供程序。我有以下SpringDataJPA存储库:@RepositorypublicinterfaceCompanyRepositoryextendsJpaRepository{@EntityGraph(value="graph.company.search.results",type=EntityGraph.EntityGraphType.FETCH)@Query("SELECTcFROMCompanycWHEREc.idIN:companyIds")ListfindByCompanyIdsFor

java - 在 hibernate 中使用复合主键保留 1-m 实体

我在指导学生的实体上有低于1-m的关系。导师有复合主键,我将其用作学生的外键@EntitypublicclassMentorimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@IdprivateMentorPKid;privateStringemail;@OneToMany(mappedBy="mentor")privateSetstudents;publicMentorPKgetId(){returnid;}//gettersandsetters}@EmbeddablepublicclassMentorP

java - JPA:如何急切地获取嵌入式元素集合

考虑以下模型@Entity//JPAandJAXBannotationsherepublicclassEmployeeimplementsSerializable{//otherfields,annotations,stuffs...@ElementCollection(fetch=FetchType.LAZY,targetClass=Address.class)@CollectionTable(name="employee_address",schema="hris",joinColumns=@JoinColumn(name="employee_id",nullable=false,

java - 如何使用 JPA 2.1 属性 javax.persistence.schema-generation.database.action?

javax.persistence.schema-generation.database.action的允许值为无(不提供任何服务......)创建(仅在应用程序第一次启动时有效,因为如果创建已存在的模式,则由于大多数数据库(例如derby11.x)导致所有进一步启动失败drop-and-create(它永远不会保留任何数据,这引发了为什么它是持久性标准规范的一部分的问题——假设调试目的)drop(对称地失败create成功绝对没有选择使用这些值中的任何一个,我也看不到它们的规范有任何意义-假设您不希望应用程序的用户启动应用程序一次(使用create),破解persistence.xm

java - Hibernate:复杂对象的初始化

我在合理的时间和合理的查询数量下从数据库中完全加载非常复杂的对象时遇到了问题。我的对象有很多嵌入的实体,每个实体都有对另一个实体的引用,另一个实体引用另一个实体等等(所以,嵌套级别是6)因此,我创建了示例来演示我想要什么:https://github.com/gladorange/hibernate-lazy-loading我有用户。用户有@OneToMany最喜欢的Oranges、Apples、Grapevines和Peaches集合。每个Grapevine都有@OneToMany葡萄集合。每个水果都是只有一个String字段的另一个实体。我正在创建用户,每种水果有30种最喜欢的水果

java - 使用 Hibernate 和 Spring Data JPA 激活 SQL 语句日志记录

我有一个使用Hibernate作为提供程序的SpringDataJPA存储库。我想记录SQL语句,但我做不到。我尝试了各种解决方案:在我的HibernateJpaVendorAdapter中将showSql设置为true将log4j.logger.org.hibernate.SQL=DEBUG添加到我的log4j.properties文件(值得一提的是log4j.logger.org.hibernate=INFO确实添加了一些日志信息,但log4j.logger.org.hibernate.SQL=DEBUG没有)这是我的类和配置文件:数据库配置.java/***Databasecon