gpt4 book ai didi

java - 如何以与实现无关的方式在 JPA 中创建 Clob

转载 作者:IT老高 更新时间:2023-10-28 20:39:57 25 4
gpt4 key购买 nike

我正在使用 Ejb3 和 JPA(目前基于 Hibernate 和 Oracle 10g)

我有一个包含 clob 的实体

@Entity
@Table(name = "My_TAB")
public class ExampleEntity implements java.io.Serializable {

private Clob someText;

public void setSomeText(Clob someText) {
this.someText= someText;
}

@Column(name = "COLUMN_NAME")
public Clob getSomeText() {
return this.someText;
}

那我想保存一个这种类型的实体。

目前我正在执行以下操作完美

ExampleEntity exampleEntity = new ExampleEntity();
exampleEntity.setSomeText(Hibernate.createClob(aStringValue));
someOtherDao.save(exampleEntity);

但是,这会将我的代码与 Hibernate 联系起来!到目前为止,我一直特别避免使用 Hibernate 扩展,并且只使用了 JPA 注释。该代码有效,因为 Hibernate 确实是我当前的实现。

是否有某种 JPA API 允许我以通用方式创建 clob?因此,如果以后我决定切换到 Toplink/EclipseLink 或其他东西,我就不必更改任何东西?

最佳答案

JPA 规范(§ 9.1.5)就是这样一个例子

@Column(name="DESC", 
columnDefinition="CLOB NOT NULL",
table="EMP_DETAIL")
@Lob
public String getDescription() { return description; }

我相信这是 CLOB 的标准方式。

关于java - 如何以与实现无关的方式在 JPA 中创建 Clob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2637063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com