我正在尝试使用ActiveJDBC
将integer[]
从PostgreSQL
数据库正确转换为java equivalent int[]
。我正确地完成了提取,但返回的对象是weblogic.jdbc.wrapper.Array_org_postgresql_jdbc_PgArray
。我还没有找到转换它的方法。
我尝试了两种不同的方式来访问数据:
首先,使用标准record.findFirst("id = ?", id)
格式。因为我的数据库中有多个模式,所以我将@Table
表示法添加到我的模型中。
其次,我尝试了record.findBySQL("select array from record where id = ?", id)
。我也试过array::integer[]
。
每次我回到PgArray类型。我已经找到了将这种类型转换为其他东西以供使用的方法,但没有任何效果。
有办法做到这一点吗?除ActiveJDBC
以外,我是否需要使用不同的数据检索方式?
答案 0 :(得分:0)
JDBC定义<ListViewItemPresenter
ContentTransitions="{TemplateBinding ContentTransitions}"
SelectionCheckMarkVisualEnabled="True"
CheckBrush="{ThemeResource SystemControlForegroundBaseMediumHighBrush}"
CheckBoxBrush="{ThemeResource SystemControlBackgroundChromeMediumBrush}"
DragBackground="{ThemeResource ListViewItemDragBackgroundThemeBrush}"
DragForeground="{ThemeResource ListViewItemDragForegroundThemeBrush}"
FocusBorderBrush="{ThemeResource SystemControlForegroundAltHighBrush}"
FocusSecondaryBorderBrush="{ThemeResource SystemControlForegroundBaseHighBrush}"
PlaceholderBackground="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}"
PointerOverBackground="{ThemeResource SystemControlHighlightListLowBrush}"
PointerOverForeground="{ThemeResource SystemControlForegroundBaseHighBrush}"
SelectedBackground="{ThemeResource SystemControlHighlightAccentBrush}"
SelectedForeground="{ThemeResource SystemControlForegroundBaseHighBrush}"
SelectedPointerOverBackground="{ThemeResource SystemControlHighlightListAccentMediumBrush}"
PressedBackground="{ThemeResource SystemControlHighlightListMediumBrush}"
SelectedPressedBackground="{ThemeResource SystemControlHighlightListAccentHighBrush}"
DisabledOpacity="{ThemeResource ListViewItemDisabledThemeOpacity}"
DragOpacity="{ThemeResource ListViewItemDragThemeOpacity}"
ReorderHintOffset="{ThemeResource GridViewItemReorderHintThemeOffset}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
ContentMargin="{TemplateBinding Padding}"
CheckMode="Overlay"/>
来处理数组类型的列。 java.sql.Array
只是PgArray
的Postgres实现。
给定数组对象java.sql.Array
,您可以调用a
从JDBC数组对象中获取(Integer[])a.getArray()
数组(如果JDBC驱动程序已决定它将返回给您Integer
}对象而不是其他Integer
)。提取值并转换为Numbers
的辅助方法可能是个好主意。
不知道activejdbc是否支持在幕后进行此转换。