我有一个表,其索引由一个使用序列的触发器自动填充(Oracle数据库)
CREATE TABLE A
(
IDS NUMBER(10) NOT NULL
)
CREATE OR REPLACE TRIGGER A_TRG
BEFORE INSERT
ON A REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
BEGIN
:new.IDS := A_SEQ.nextval;
END A_TRG;
/
Run Code Online (Sandbox Code Playgroud)
我有一个匹配的Java类:
Class A {
@Id
@SequenceGenerator(name = "aSequence", sequenceName = "A_SEQ", allocationSize = 1)
@GeneratedValue(generator = "aSequence", strategy = GenerationType.SEQUENCE)
@Column(name = "IDS")
Long id;
...
}
Run Code Online (Sandbox Code Playgroud)
当我尝试像这样坚持A的实例时:
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
A a = new A();
Long id = getHibernateTemplate().save(a);
transaction.commit();
Run Code Online (Sandbox Code Playgroud)
我遇到这个问题: …
我使用SVNKit库开发一个Java程序,该库负责在版本控制下更新或提交目录.目录内容可以由我无法控制的另一个程序更改,该程序可以添加,删除或编辑文件而忽略设置subversion信息.
问题是" 我的程序如何知道要做什么 "?
因为没有添加新文件,所以我尝试处理rootIirectory的doImport,但它会导致SVNException表明该文件已存在于存储库端.
SVNCommitClient cc = cm.getCommitClient();
cc.doImport(new File(subVersionedDirectory), SVNURL.parseURIEncoded(repositoryURL), "<import> " + commitMessage, null, false, true, SVNDepth.fromRecurse(true));
Run Code Online (Sandbox Code Playgroud)
我还发现一段代码可能会在提交之前将丢失的文件标记为DELETED
cc.setCommitParameters(new ISVNCommitParameters() {
// delete even those files
// that are not scheduled for deletion.
public Action onMissingFile(File file) {
return DELETE;
}
public Action onMissingDirectory(File file) {
return DELETE;
}
// delete files from disk after committing deletion.
public boolean onDirectoryDeletion(File directory) {
return true;
}
public boolean onFileDeletion(File file) {
return true;
} …
Run Code Online (Sandbox Code Playgroud)