Java9中使用jpa,jpa – eclipselink在Java 9上使用final字段進行靜態編織

我有一些JPA注釋字段,如下所示:

@Column(name = "SOME_FIELD", updatable = false, nullable = false)

private final String someField;

當實體插入數據庫時??,這些字段存儲在數據庫中.它們無法進一步更新.對于Java編程語言,可以將這些字段視為final.

使用EclipseLink靜態編織插件,由于某些字節代碼檢測,可能會延遲加載實體.

我不知道JPA中是否正式允許這樣的構造(最終字段),但我喜歡使用它們,因為它們在編譯時強制執行這些字段并不是要更新.

在Java 8中,使用這種結構構建的程序運行良好.但是在Java 9中,當涉及EclipseLink靜態編織時,我得到以下運行時異常:

Caused by: java.lang.IllegalAccessError: Update to non-static final field xxx.yyy.SomeEntity.someField attempted from a different method (_persistence_set) than the initializer method

這樣的錯誤似乎是由于以下JVM規范:

Otherwise, if the field is final, it must be declared in the current

class, and the instruction must occur in an instance initialization

method () of the current class. Otherwise, an IllegalAccessError

is thrown.

因此,我覺得一些編織工具需要一些更新才能實現這個JVM規范. EclipseLink靜態編織工具似乎就是其中之一.

問題:

> JPA中允許使用此處提供的最終字段構造嗎?

>是否有一個JDK 9選項來禁止檢查最終字段分配,而不僅僅是在類的實例初始化方法()中(作為臨時解決方法)?

編輯:

根據JPA規范,JPA中不允許使用最終字段:

The entity class must not be final. No methods or persistent instance variables of the entity class may be final.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/542528.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/542528.shtml
英文地址,請注明出處:http://en.pswp.cn/news/542528.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python語言程序設計及醫學應用_Python語言程序設計(高等學校計算機專業規劃教材)...

第1章Python語言概述/1 1.1Python語言的發展1 1.1.1Python的起源1 1.1.2Python的發展2 1.2Python語言的特點2 1.2.1Python的特性2 1.2.2Python的缺點4 1.2.3Python與其他語言的比較5 1.3簡單的Python程序介紹5 1.4Python的程序開發工具8 1.4.1Python的版本選擇8 1.4.2Python的安…

swift 3.0 中使用 xib

文章寫于2016年9月底,Xcode 8,swift 3.0真是蛋疼,折騰了很長時間,試了網上很多教程,結果又莫名的可以了! 1.方法和OC中一樣 將一個xib文件和一個ViewController類進行關聯的幾步操作: command &…

數字圖像處理圖像反轉的實現_使用8086微處理器反轉16位數字

數字圖像處理圖像反轉的實現Problem statement: 問題陳述: Write an assembly language program in 8086 microprocessor to reverse 16 bit number using 8 bits operation. 在8086微處理器中編寫匯編語言程序,以使用8位操作反轉16位數字。 Example: …

php猴子找大王算法,教程方法;php實現猴子選大王問題算法實例電腦技巧-琪琪詞資源網...

琪琪詞資源網-教程方法;php實現猴子選大王問題算法實例電腦技巧,以下是給大家帶來的教程方法;php實現猴子選大王問題算法實例,大家可以了解一下哦!下面為你介紹php實現猴子選大王問題算法實例。本文實例講述了php實現猴子選大王問題算法。分享給大家供大…

numpy 歸一化_NumPy 數據歸一化、可視化

僅使用 NumPy,下載數據,歸一化,使用 seaborn 展示數據分布。下載數據import numpy as npurl https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.datawid np.genfromtxt(url, delimiter,, dtypefloat, usecols[1])僅提取…

java虛擬機規范閱讀(三)異常

Java虛擬機里面的異常使用Throwable或其子類的實例來表示,拋異常的本質實際上是程序控制權的一種即時的、非局部(Nonlocal)的轉換——從異常拋出的地方轉換至處理異常的地方。絕大多數的異常的產生都是由于當前線程執行的某個操作所導致的&am…

puppeteer api_使用Node.js和puppeteer API從URL創建PDF文件

puppeteer apiWe will continue using Node.js and puppeteer which is a node library. As we saw in our last article, Puppeteer is a Node library developed by Google and provides a high-level API for developers. 我們將繼續使用Node.js和puppeteer(這是一個節點庫)…

python線程同步鎖_[python] 線程間同步之Lock RLock

為什么需要同步 同樣舉之前的例子,兩個線程分別對同一個全局變量進行加減,得不到預期結果,代碼如下: total 0 def add(): global total for i in range(1000000): total 1 def desc(): global total for i in range(1000000): t…

servlet的由來

2019獨角獸企業重金招聘Python工程師標準>>> 動靜態網頁技術 首先說下訪問網頁的大概過程: 你在瀏覽器中輸入網址,按下enter鍵,此時瀏覽器代你做了很多事,簡要說為:將你輸入的這個網址作為目的地參數&#…

php header 文件大小,php獲取遠程文件大小及信息的函數(head_php

php獲取遠程文件大小及信息的函數(header頭信息獲取)阿里西西Alixixi.com開發團隊在做一個客戶系統時,需要做遠程下載的功能,并實時顯示進度條效果。所以,需要預先讀取遠程文件的大小信息,然后做為實時下載進度條的參數。功能函數…

Java ObjectInputStream readUnsignedShort()方法(帶示例)

ObjectInputStream類readUnsignedShort()方法 (ObjectInputStream Class readUnsignedShort() method) readUnsignedShort() method is available in java.io package. readUnsignedShort()方法在java.io包中可用。 readUnsignedShort() method is used to read 2 bytes (i.e. …

python中info的用法_Python pandas.DataFrame.info函數方法的使用

DataFrame.info(self, verboseNone, bufNone, max_colsNone, memory_usageNone, null_countsNone) [source] 打印DataFrame的簡要摘要。 此方法顯示有關DataFrame的信息,包括索引dtype和列dtype,非空值和內存使用情況。 參數:verbose &#x…

第四次作業 孫保平034 李路平029

用C編寫一個學生成績管理系統 1、可以實現以下功能&#xff1a; cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 1.增加學生成績 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl; 2、用鏈表存儲信息 * 程序頭部的注釋結束 3、約定的規范&#xff1a; 1界面設計簡介&#xff0c;人性化…

php serialize error at offset,PHP Notice: unserialize(): Error at offset XX of XX bytes

之前同事在本地開發的時候&#xff0c;出現一個錯誤&#xff0c;如下圖所示&#xff1a;字面意思就是反序列化錯誤&#xff0c;由此bug引申出來序列化和反序列化得應用&#xff0c;以及php array當key為string類型的數字值時&#xff0c;會發生什么情形。先來看序列化$str [1 …

Java ClassLoader setClassAssertionStatus()方法與示例

ClassLoader類setClassAssertionStatus()方法 (ClassLoader Class setClassAssertionStatus() method) setClassAssertionStatus() method is available in java.lang package. setClassAssertionStatus()方法在java.lang包中可用。 setClassAssertionStatus() method is used …

python怎么變各種顏色_python – 如何淡化顏色

有很多方法可以做到這一點.您如何選擇這取決于您是否重視速度和簡單性或感知均勻性.如果你需要它是真正統一的,你需要用顏色配置文件定義RGB顏色,你需要配置文件的原色,這樣你就可以轉換為XYZ,然后轉換到LAB,你可以操作L通道. 大多數情況下,您不需要這樣做,而是可以使用像Photo…

informatica中元數據管理

摘自&#xff1a; http://blog.itpub.net/28690368/viewspace-766528/ informaica是一個很強大的ETL工具&#xff0c;WORKFLOW MANAGER負責對ETL調度流程進行設計與管理和執行&#xff0c;informatica在資料庫中提供以下表來存儲調動流程的相關信息&#xff0c;以便WORKFLOW …

yii+php+當前目錄,Yii應用的目錄結構和入口腳本

以下是一個通過高級模版安裝后典型的Yii應用的目錄結構&#xff1a;~~~.├── backend├── common├── console├── environments├── frontend├── nbproject├── tests├── vendor├── composer.json├── composer.lock├── init├── init.bat├── …

8086 尋址方式_8086微處理器的不同尋址模式

8086 尋址方式Introduction: 介紹&#xff1a; Addressing mode tells us what is the type of the operand and the way they are accessed from the memory for execution of an instruction and how to fetch particular instruction from the memory. There are mainly 8 …

決策樹的value是什么意思_從零開始的機器學習實用指南(六):決策樹

類似SVM&#xff0c;決策樹也是非常多功能的機器學習算法&#xff0c;可以分類&#xff0c;回歸&#xff0c;甚至可以完成多輸出的任務&#xff0c;能夠擬合復雜的數據集&#xff08;比如第二章的房價預測例子&#xff0c;雖然是過擬合了。&#xff09;決策樹也是很多集成學習的…