تم العثور على المشكلة أثناء تشغيل UnionSubclassInheritanceTest
مع MS SQL.
يستخدم قسم الموارد البشرية ReactiveIdTableSupport
لإنشاء SQL لإنشاء جدول مؤقت محلي.
تتوقع MS SQL أن تبدأ أسماء الجداول المؤقتة المحلية بعلامة تجزئة واحدة:
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-table-transact-sql#tporary -tables
نعم ، هذا لأننا نستخدم ReactiveBulkIdStrategy
بدلاً من الشيء الذي تم إرجاعه بواسطة AbstractTransactSQLDialect.getDefaultMultiTableBulkIdStrategy()
. يجب أن تكون سهلة بما يكفي لإصلاحها. لا تقلق كثيرًا بشأن هذا في الوقت الحالي.
tsegismont يجب أن يكون كافيًا لتغيير ReactiveIdTableSupport. generateIdTableName ()
النحو التالي:
<strong i="8">@Override</strong>
public String generateIdTableName(String baseName) {
return (dialect instanceof SQLServerDialect ? "#" : "ht_") + baseName;
}
gavinking شكرا ht_
) واضطررت أيضًا إلى تغيير طريقة getCreateIdTableCommand
.
انظر https://github.com/tsegismont/hibernate-reactive/commit/84caabcefb4eb1a47e7e0c2d931584038d162393
ذهبت بشيء مختلف قليلاً (للاحتفاظ بالبادئة
ht_
)
حسنًا ، أعتقد أنه إذا قمت بفحص Hibernate ORM (الذي نحاول التوافق معه) ، فإنه يسقط البادئة ht_
في حالة SQL Server ، لأن الجداول المؤقتة لها مساحة اسم خاصة بها.
tsegismont هل يمكننا إغلاق هذا؟
لقد شاركت بعض التغييرات في العلاقات العامة على مفترق DavideD .
إذا تم اختيار هذه التغييرات هنا ، فبإمكانك إغلاق المشكلة.
شكرًا tsegismont ،
شكرا يا شباب.