簡體   English   中英

處理DBUnit中的保留字符

[英]Dealing with reserved characters in DBUnit

我在集成測試期間使用DBUnit來模擬我繼承的傳統Spring / Hibernate項目的數據。 不幸的是很久以前有人認為擁有一個名為user的用戶表會很好,這是我們數據庫中的保留關鍵字。 然后通過將實體表映射重命名為現在已經存在多年的`user`來解決這個問題。

正如我現在幾年后開始整合集成測試一樣,這就產生了一個問題,因為DBUnit不允許在其xml數據集文件中使用`字符(它是你知道的XML ...),而CSV讀取器則要求文件是稱為`user`.csv,在我的操作系統下似乎失敗了。

有沒有辦法在不使用DBUnit的XML或CSV讀取器的情況下添加此表,還是應該從另一個角度解決這個問題? 一種替代方法是在集成測試期間使用另一個映射,以便我可以將表命名為它的預期名稱(用戶)。 但我不知道這是否可行。

我已經打了2天了,所以我喜歡一些外部反饋。

所以,只是澄清一下。 我有一個實體,如:

@Entity (name = "`user`")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@Auditable
public class User implements UserDetails, Serializable {
  properties etc....

在我的集成測試期間,hibernate通過配置persistence.xml文件來負責創建其他表。 當dbunit然后嘗試填充數據時,由於缺少表而導致錯誤,無論我如何嘗試轉義用戶表名。

我懷疑你需要轉義模式配置

類似的東西

dbunitConn.getConfig().setProperty(DatabaseConfig.PROPERTY_ESCAPE_PATTERN, "\"?\"");

dbUnitConn是你的dbUnit連接,應該做的伎倆。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM