ActiveJDBC:PostgreSQL上的integer [],在一个DB中有多个模式

时间:2016-06-29 12:15:23

标签: java postgresql activejdbc javalite

我正在尝试使用ActiveJDBCinteger[]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以外,我是否需要使用不同的数据检索方式?

1 个答案:

答案 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是否支持在幕后进行此转换。