草庐IT

Hibernate-Session

全部标签

java - 有没有办法阻止 Hibernate 破坏 @Where 注释中的 boolean 文字?

我想在Hibernate中使用@Where注释来删除已被该对象的boolean属性标记为“已删除”的对象。例如,以下应防止Hibernate加载任何已删除的地址:@OneToMany(mappedBy="contact")@Where(clause="deleted=FALSE")privateSetaddresses;但是,当我使用像deleted=FALSE这样的子句时,Hibernate会通过在boolean文字前加上表名来破坏boolean文字,这会导致查询失败。例如:select...fromaddressaddress0_where(address0_.deleted=ad

java - 执行加载命令时出错 : org. hibernate.exception.SQLGrammarException: 无法在线程 "main"中提取 ResultSet 异常

我正在尝试设置一个小的JPA工作示例,但是当我运行代码时出现以下错误:importjavax.persistence.EntityManager;importjavax.persistence.EntityManagerFactory;importjavax.persistence.Persistence;importencje.Klient;importencje.Zamowienie;publicclassSzkolenieJPA{publicstaticvoidmain(String[]args){EntityManagerFactoryfabryka=Persistence.c

java - 在 Hibernate 中使用 "ON clause"获取连接的替代方法

给定以下RDBMS中的域模型,该模型使用Hibernate映射到Java对象。┌─────────┐┌─────────────┐│Project│10..n│UserSetting│├─────────┼------------┼─────────────┤│name││username│└─────────┘│favorite│└─────────────┘用户可以将项目标记为最喜欢的项目,这反射(reflect)在关联的(可选)UserSetting条目中。如果用户没有标记项目,则数据库中没有UserSetting条目,这意味着该项目不受欢迎。将UserSetting视为“稀疏”

java - hibernate 映射 : ignore a super class field

我有一个A类和B类publicclassA{intf1;intf2;intf2;}publicclassBextendsA{}我的问题是如何忽略映射到B的表中的字段,例如“f2”? 最佳答案 假设我对您的帖子所做的编辑获得批准,我将尝试回答。在下面的代码中,我忽略了类A中的字段f2,即使用AttributeOverride的B的父类(superclass)。@Entity@AttributeOverride(name="f2",column=@Column(name="f2_col",insertable=false,updatab

java - 无法延迟初始化角色 : User. 权限的集合,无法初始化代理 - 无 session

在我的SpringBoot/Data/JPA应用程序中,我有以下实体:@Entity@NamedEntityGraph(name="graph.User",attributeNodes={@NamedAttributeNode("authorities")})@Table(name="users")publicclassUserextendsBaseEntityimplementsUserDetails{privatestaticfinallongserialVersionUID=8884184875433252086L;@Id@SequenceGenerator(name="user

java - 如何获得对某些 session 条目的独占访问权?

由于REST服务的远程调用特性,它们经常处于相互竞争的状态。每天要争夺的资源之一是session。为了实用,您需要能够在流程开始时锁定资源,并在使用完后将其解除。现在我的问题是,SpringSession是否有任何功能来处理session条目的竞争条件?或Java中的任何其他库/框架!!! 最佳答案 如果你使用的是SpringController,那么你可以使用RequestMappingHandlerAdapter.setSynchronizeOnSession-boolean-这将使每个Controller方法在存在sessio

java - 访问另一个 Web 应用程序的 session

是否可以在J2EE应用程序(EAR)中配置两个单独的Web应用程序(WAR)以访问共享session上下文?更多信息:我最终从EAR创建了一个共享类,它将所需信息存储在静态成员中。这样做成功了,即使它看起来像是一个肮脏的hack。 最佳答案 不直接。大多数容器将每个WAR放在一个单独的类加载器中,并以EAR类加载器作为它们的父级。每个应用程序的session都是独立的。您可以在每个session中放入父EAR提供的内容。如果您需要他们共享某些内容,请将其设为EAR功能。 关于java-访

java - 配置 Hibernate 以使用 Oracle 的 SYS_GUID() 作为主键

我正在寻找一种方法让hibernate在插入新行时使用oracle的SYS_GUID()函数。目前我的数据库表有SYS_GUID()作为默认值,所以如果hibernate只是简单地生成省略了它应该工作的值的SQL。我一切正常,但它目前正在使用system-uuid生成器在代码中生成UUID/GUID:@Id@GeneratedValue(generator="system-uuid")@GenericGenerator(name="system-uuid",strategy="uuid")@Column(name="PRODUCT_ID",unique=true,nullable=fa

java - 将 hibernate 组件映射到单独的表

是否可以配置Hibernate将组件类存储在单独的表中?举个例子:这映射到名为MyClass的表,其中包含两列propA和propB。我想要的是将组件的属性映射到名为ClassB的表。我不想做的是将ClassB配置为一个实体(它在ClassA之外没有任何有意义的标识),因此排除了正常关联。此外,我无法修改对象模型(它是生成的代码),因此我无法将ID属性引入ClassB。这似乎是Hibernate功能中的一个缺口——映射执行“多个类到一个表”,而执行“一个类到多个表”,但奇怪的是如果不求助于实体关联,则没有明显的方法可以实现“多类到多表”。我想要这样做的理由是我希望我的DB模式尽可能接近

java - Hibernate递归查询

我想要的查询是获取属于某个类别的类(class)对象列表。我的对象如下:publicclassCourse{Stringname;Listcategories;}publicclassCategory{Stringname;Categoryparent;}由于类别相互引用,它们可以有无限的深度:AA.AA.A.AA.A.BA.BA.B.ABB.AB.BC如何查询类别“A.A”中的类(class),并返回与A.A、A.A.A和A.A.B关联的所有类(class)? 最佳答案 如果您愿意使用nativeSQL并且您的数据库支持递归公用表