gpt4 book ai didi

grails - Grails 2.5.0持久对象的空ID

转载 作者:行者123 更新时间:2023-12-02 16:00:54 26 4
gpt4 key购买 nike

当我尝试保存receiveTransaction时,出现此异常

Caused by: org.postgresql.util.PSQLException: ERROR: null value in column "letter_id" violates not-null constraint Detail: Failing row contains (5, 0, RECEIVE, 67, nraed, 2015-06-22 12:56:17.111, null, ملوخية, 3, null, 1, f, 1, DONE, ps.police.parchive.LetterTransaction, null). at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2161) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1890) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:560) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:363) ... 9 more



信有很多信交易

LetterTransaction域:
class LetterTransaction {
ActionEnum action
Date dateTime
Party party
ArchiveStructure archiveStructure
Boolean reviewed = Boolean.FALSE
TransactionStatus status=TransactionStatus.PENDING
String notes
Long sequence
LetterTransaction relatedTransaction

RelatedLetter relatedLetter
List signs = new ArrayList()
List reviewLogs = new ArrayList()
List divisionPathes = new ArrayList()
List targets = new ArrayList()
String createdBy
boolean deleted

static transients = ['deleted']

static belongsTo = [letter:Letter]
static hasMany = [
targets:Party,
// related letters in case this letter is related to other letters (Attachments)

// actions have bean specified by organization manager التاشيرات
signs:Sign,
// all reviewing actions have bean taken for this letter
reviewLogs:ReviewLog,
// this devision path describes where scans have bean saved, according the ArchiveStructure for this letter
divisionPathes:DivisionPath
]

}

在 Controller 中
    LetterTransaction sendTransactionInstance = LetterTransaction.get(params.long("transactionId"))
LetterTransaction receiveTransaction=new LetterTransaction()
receiveTransaction.action=ActionEnum.RECEIVE
receiveTransaction.letter=Letter.get(sendTransactionInstance.letter.id)
receiveTransaction.status=TransactionStatus.DONE
receiveTransaction.relatedTransaction=sendTransactionInstance
receiveTransaction.party=InternalDepartment.findByCoreId(session.departmentId)
receiveTransaction.dateTime=new Date()
receiveTransaction.sequence=params.long("sequence")
receiveTransaction.targets=[sendTransactionInstance?.party]
receiveTransaction.notes = params.comments
receiveTransaction.archiveStructure = ArchiveStructure.get(params.long("archiveStructure.id"))

if(!receiveTransaction.hasErrors() && receiveTransaction.save(flush: true,failOnError: true)){
sendTransactionInstance.letter.addToTransactions(receiveTransaction)
sendTransactionInstance.letter.save(flush: true,failOnError: true)
//copy all scans to the new folder
manageService.copyLetterScansFromOrganization(sendTransactionInstance, sendTransactionInstance?.party?.coreId,null, getCurrentUser())
render "OK"
}else{
def errors=g.renderErrors(bean: receiveTransaction)
render errors
}

最佳答案

在不知道原因的情况下,我通过在添加letterTransaction之后而不是保存receiveTransaction之后保存字母实例来解决此问题,这太奇怪了。

关于grails - Grails 2.5.0持久对象的空ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30977084/

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