标签: persistence

REFRESH和MERGE在数据库方面意味着什么?

我很好奇,需要快速找到这个答案.谷歌不会帮助太多.

Java Persistence API具有这些属性,告诉框架在关联实体上级联操作:

CascadeType.PERSIST
CascadeType.DELETE
CascadeType.MERGE
CascadeType.REFRESH
Run Code Online (Sandbox Code Playgroud)

我知道前两个意思是什么:当我持有具有B的对象A时,也坚持B,当我删除A时,也删除B.

但我无法理解其他两个人所取得的成就.救命?

java persistence jpa

86
推荐指数
2
解决办法
6万
查看次数

持久性单位为RESOURCE_LOCAL还是JTA?

我有以下疑问:

  1. 这两个有什么区别?
  2. 所有数据库都支持这些吗?
  3. JPA TransactionManager和JTA TransactionManager有什么不同?

java spring persistence jpa jta

85
推荐指数
3
解决办法
6万
查看次数

使用和保存枚举的最佳做法

我在这里看到了几个关于处理和保持类似枚举值的最佳方法的问题/讨论(例如,坚持适用于枚举的数据,如何使用NHibernate保持枚举),我想问一般的共识是什么.

特别是:

  • 如何在代码中处理这些值?
  • 它们应该如何持久保存到数据库中(如文本/数字)?
  • 不同解决方案的权衡是什么?

注意:我将原本包含在此问题中的解释移到了答案中.

c# java database enums persistence

75
推荐指数
5
解决办法
2万
查看次数

Hibernate和iBATIS

对于我们的新产品重新设计,我们正在从Java中选择最佳框架.考虑到模型的数据库不可知方法,我们正在研究Struts + Spring与iBATIS或Hibernate之间的选择.请提供最好的建议,因为两者都提供持久性.

java persistence frameworks hibernate ibatis

73
推荐指数
6
解决办法
8万
查看次数

@Entity和@Table中的name属性

我怀疑名称属性是否存在于两者中

@Entity和@Table

例如,我可以为name属性设置相同的值

@Entity(name = "someThing")
@Table(name = "someThing")
Run Code Online (Sandbox Code Playgroud)

同一个班级我也可以有不同的名字

 @Entity(name = "someThing")
 @Table(name = "otherThing")
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我这两者之间有什么区别以及为什么我们两者都有相同的属性?

java persistence annotations hibernate jpa

66
推荐指数
5
解决办法
8万
查看次数

我是否必须关闭()每个EntityManager?

我刚刚开始将我自己开发的持久性框架迁移到JPA.

鉴于持久性框架隐藏了大量的管道,我有兴趣知道是否关闭EntityManagers会造成资源泄漏,或者框架是否会收集并关闭它们.

我打算在所有地方关闭它们,但我必须这样做吗?

目前使用TopLink,只是因为它可以轻松地与NetBeans协同工作,但我很乐意调查其他JPA提供商.

java persistence jpa toplink

65
推荐指数
3
解决办法
5万
查看次数

如何在swift中使用NSCoder编码枚举?

背景

我正在尝试使用NSCoding协议对String样式的枚举进行编码,但是我遇到了从String转换回来的错误.

解码和编码时出现以下错误:

字符串不可转换为Stage

额外参数ForKey:在电话中

    enum Stage : String
    {
        case DisplayAll    = "Display All"
        case HideQuarter   = "Hide Quarter"
        case HideHalf      = "Hide Half"
        case HideTwoThirds = "Hide Two Thirds"
        case HideAll       = "Hide All"
    }

    class AppState : NSCoding, NSObject
    {
        var idx   = 0
        var stage = Stage.DisplayAll

        override init() {}

        required init(coder aDecoder: NSCoder) {
            self.idx   = aDecoder.decodeIntegerForKey( "idx"   )
            self.stage = aDecoder.decodeObjectForKey(  "stage" ) as String    // ERROR
        }

        func encodeWithCoder(aCoder: NSCoder) {
            aCoder.encodeInteger( …
Run Code Online (Sandbox Code Playgroud)

enums persistence nscoder swift

63
推荐指数
3
解决办法
2万
查看次数

在android中使数据持久化

在我的应用程序中,有一些特定于应用程序的设置,下次我的应用程序启动时应该可以使用.

换句话说,我希望数据在应用程序周期的会话中可用.

这可以在不使用数据库(sqlite)的情况下实现.

android persistence

58
推荐指数
2
解决办法
4万
查看次数

JPA 2 CriteriaQuery,使用限制

我正在使用JPA 2.出于安全原因,我正在使用CriteriaQuery进行类型安全(因此,我不会搜索任何类型查询的解决方案等).

我最近遇到了一个需要设置SQL-LIMIT的问题.

经过大量的搜索,我仍然没有成功找到解决方案.

CriteriaQuery<Product> query = getEntityManager().getCriteriaBuilder().createQuery(Product.class);
Root<Product> product = query.from(Product.class);
query.select(product);

return em.createQuery(query).getResultList();
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

java sql persistence jpa limit

57
推荐指数
2
解决办法
7万
查看次数

设置由数据库生成的JPA时间戳列?

在我的SQL Server 2000数据库中,我有一个DATETIME名为lastTouchedset 的类型的时间戳(在函数中不在数据类型中)列getdate()作为其默认值/ binding.

我正在使用Netbeans 6.5生成的JPA实体类,并在我的代码中使用它

@Basic(optional = false)
@Column(name = "LastTouched")
@Temporal(TemporalType.TIMESTAMP)
private Date lastTouched;
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将对象放入数据库时​​,我得到了,

javax.persistence.PersistenceException: org.hibernate.PropertyValueException: not-null property references a null or transient value: com.generic.Stuff.lastTouched
Run Code Online (Sandbox Code Playgroud)

我已经尝试设置设置@Basic(optional = true),但是抛出一个异常,说数据库不允许列的nullTIMESTAMP,它不是设计的.

ERROR JDBCExceptionReporter - Cannot insert the value NULL into column 'LastTouched', table 'DatabaseName.dbo.Stuff'; column does not allow nulls. INSERT fails.
Run Code Online (Sandbox Code Playgroud)

我以前在纯Hibernate中使用它,但我有意识切换到JPA并且不知道如何告诉它该列被假设在数据库端生成.请注意,我仍然使用Hibernate作为我的JPA持久层.

java persistence timestamp annotations jpa

56
推荐指数
8
解决办法
16万
查看次数