我试图使用JPA TopLink将Java中实体的枚举属性的null值存储到Oracle数据库.代码执行时没有异常或警告,但实体未存储在数据库中.
该实体定义如下:
@Entity
public class LetterDoc {
...
@Column(name = "delivery_type", columnDefinition = "VARCHAR2(20)", nullable = true)
@Enumerated(EnumType.STRING)
private DocDeliveryTypeEnum deliveryType;
...
}
Run Code Online (Sandbox Code Playgroud)
Enum类DocDeliveryTypeEnum只有必需的值.
public enum DocDeliveryTypeEnum {
NORMAL,
RECOMMENDED,
ACKNOWLEDGEMENT
}
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我有实体的实例,其中deliveryType是sence并且是必需的.但是,在某些情况下,deliveryType是无关紧要的,我想将其保留为null.我不想设置默认值,因为这种情况没有足够的值.
实体实例的值设置为null,但是当我尝试持久化并刷新数据库中的实例时,它只是没有存储,尽管该列被定义为启用了NULL值的VARCHAR2(20).
情况是这样的:
LetterDoc let = new LetterDoc();
// settery ostatnich atributu
let.setDeliveryType(null);
try {
emptyDocDAO.persist(let);
emptyDocDAO.flush();
} catch (Exception e) {
// no exception is really catched :(
log.error(e);
}
// here I have …Run Code Online (Sandbox Code Playgroud) 我提交了一个文本文件并将其推送到主分支。我的同事从主分支中创建了一个单独的分支,并对文件进行了一些更改 - 他对文本进行了修订。更改是在单个提交和单个文件中进行的。
现在,我想将他的一些更改合并到 master 分支中的原始文件中。但!我不想接受一切,只想接受一些改变。
更改是在同一文件的不同行上进行的:修订版中更改了一些行,添加了一些行,删除了一些行。我怎样才能做到这一点?
如果我正确理解 git,将修订分支简单合并到 master 将不会检测到冲突,因为我没有在 master 分支中进行任何更改。此外,合并只会应用分支/提交中所做的所有更改。但是,我只想应用在线(比方说)#20、50、69 所做的更改。我想忽略其他更改,因为我不同意它们。
如何使 git 在所有更改的文件上产生冲突,以便我能够选择是否接受更改?我需要一些互动方式。
例如,在 MS Word 中,可以跟踪更改。然后,每个更改都可以被接受(采用新版本并删除旧版本)或拒绝(保留旧版本并丢弃更改)。然后,更改不再突出显示。
我正在 MS Windows 10 上使用 TortoiseGit 应用程序,在 git 版本 1.9.5.msysgit.1 上运行。因此,如果有一种使用客户端的方法,我会更喜欢它。